package leetcode;

import java.util.HashMap;
import java.util.Map;

public class 多数数 {
    public static void main(String[] args) {
        int ans = majorityElement(new int[]{2, 2, 1, 1, 1, 2, 2});
        System.out.println(ans);
    }
    public static int majorityElement(int[] nums) {
        int leng=nums.length;
        int times=leng/2;
        Map<Integer,Integer> map=new HashMap<>();
        //key为数字，value为出现次数
        for (int i = 0; i < leng; i++) {
            Integer cnt = map.getOrDefault(nums[i], 0);
            int temp = cnt.intValue();
            map.put(nums[i],++temp);
            if(temp>times)
                return nums[i];
        }
        //找到出现次数大于n/2的数，根据这个value找到这个key
        for (Integer i : map.keySet()) {
            Integer getvalue = map.get(i);
            int value = getvalue.intValue();
            if(value>times)
                return i.intValue();
        }
        return 0;
    }
}
